package com.zang.blogz.service;

import com.zang.blogz.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zang.blogz.entity.RoleMenu;
import com.zang.blogz.entity.RoleResource;
import com.zang.blogz.result.Result;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 朵橙i
 * @since 2022-06-17
 */
public interface RoleService extends IService<Role> {

    /**
     * 更新角色所拥有的资源
     * @param roleId 角色id
     * @return 更新后的角色所拥有资源id
     */
    List<RoleResource> updateResource(Integer roleId, List<Integer> resourceIds);

    /**
     * 更新角色所拥有的菜单
     */
    List<RoleMenu> updateMenu(Integer roleId, List<Integer> menuIds);

    /**
     * 新增或编辑角色
     */
    Result<Role> saveOrUpdateRole(Role role);

    /**
     * 删除角色
     */
    Result<Boolean> deleteRole(Integer roleId);
}
